import logging
import os.path
import time

# 引入获取 root_path 的自己的实现
from utils.read_data import root_path

# 定义一个变量：log文件夹路径
log_path = os.path.join(root_path, "log")
print("log_path:", log_path)

# 定义一个变量：把当前系统时间格式化为字符串
current_time = time.strftime("%Y-%m-%d")
print("current_time:", current_time)

# 定义一个变量：拼接定义一个日志文件名
log_name = "{}.log".format(current_time)
print("log_name:", log_name)


# 创建一个logging对象
def createLogging():
    return logging.getLogger(log_name)


'''
定义类：在初始化方法中 设置logging配置项
'''
class Logger:

    def __init__(self):
        # 定义日志位置和文件名
        self.logname = os.path.join(log_path, log_name)
        # 定义一个日志容器
        self.logger = createLogging()
        # 设置日志打印的级别
        self.logger.setLevel(logging.DEBUG)
        # 创建日志输出的格式
        self.formater = logging.Formatter('[%(asctime)s][%(filename)s %(lineno)d][%(levelname)s]: %(message)s')

        # 创建日志处理器，用来存放日志文件
        self.filelogger = logging.FileHandler(filename= self.logname, mode= 'a', encoding='UTF-8')
        # 文件存放日志级别
        self.filelogger.setLevel(logging.DEBUG)
        # 文件存放日志格式
        self.filelogger.setFormatter(self.formater)

        # 创建日志处理器，在控制台打印（方便调试时在控制台打印出来查看）
        self.console = logging.StreamHandler()
        # 设置控制台日志打印界别
        self.console.setLevel(logging.DEBUG)
        # 设置控制台日志格式
        self.console.setFormatter(self.formater)

        # 将日志输出渠道添加到日志收集器中
        self.logger.addHandler(self.filelogger)
        self.logger.addHandler(self.console)

'''
测试入口
'''
if __name__ == '__main__':
    logger = Logger().logger
    logger.debug("测试语句111")
    logger.info("测试语句222")
    logger.warning("测试语句333")
    logger.error("测试语句444")


#
随便提交点东西